<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Kinetis Bootloader: LPUART Peripheral</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kinetis Bootloader
   &#160;<span id="projectnumber">2.0.0</span>
   </div>
   <div id="projectbrief">Common bootloader for Kinetis devices</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Introduction</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__lpuart__peripheral.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">LPUART Peripheral<div class="ingroups"><a class="el" href="group__bootloader.html">Bootloader</a> &raquo; <a class="el" href="group__peripherals.html">Peripheral Definitions</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>LPUART peripheral interface.  
<a href="#details">More...</a></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Collaboration diagram for LPUART Peripheral:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<center><table><tr><td><div class="center"><iframe scrolling="no" frameborder="0" src="group__lpuart__peripheral.svg" width="338" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</td></tr></table></center>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga9c65138a76dc620b2764a12c89ab1d3c"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__peripheral.html#ga9c65138a76dc620b2764a12c89ab1d3c">lpuart_poll_for_activity</a> (const peripheral_descriptor_t *self)</td></tr>
<tr class="separator:ga9c65138a76dc620b2764a12c89ab1d3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa819c680220a1384d7a57fab9fafc9ac"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__peripheral.html#gaa819c680220a1384d7a57fab9fafc9ac">lpuart_full_init</a> (const peripheral_descriptor_t *self, serial_byte_receive_func_t function)</td></tr>
<tr class="separator:gaa819c680220a1384d7a57fab9fafc9ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3b8ef190cde8e57f6992343bcbcbab41"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__peripheral.html#ga3b8ef190cde8e57f6992343bcbcbab41">lpuart_full_shutdown</a> (const peripheral_descriptor_t *self)</td></tr>
<tr class="separator:ga3b8ef190cde8e57f6992343bcbcbab41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3495755cc86800624144c4ac8dd222f3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3495755cc86800624144c4ac8dd222f3"></a>
static <a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>lpuart_write</b> (const peripheral_descriptor_t *self, const uint8_t *buffer, uint32_t byteCount)</td></tr>
<tr class="separator:ga3495755cc86800624144c4ac8dd222f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf391943d14849f90205b044be1286e1f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf391943d14849f90205b044be1286e1f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>LPUART_SetSystemIRQ</b> (uint32_t instance, <a class="el" href="group__peripherals.html#ga6bc5148daeee55537f6560fb00fb7453">PeripheralSystemIRQSetting</a> set)</td></tr>
<tr class="separator:gaf391943d14849f90205b044be1286e1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0036ed9a3b773c29e7e08ac62df0d995"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0036ed9a3b773c29e7e08ac62df0d995"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>LPUART0_RxTx_IRQHandler</b> (void)</td></tr>
<tr class="separator:ga0036ed9a3b773c29e7e08ac62df0d995"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga200b933b1fbf2b585cb37c1b8acc5a33"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga200b933b1fbf2b585cb37c1b8acc5a33"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>LPUART1_RxTx_IRQHandler</b> (void)</td></tr>
<tr class="separator:ga200b933b1fbf2b585cb37c1b8acc5a33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae904e17034cf68cc4149e84e449a3538"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae904e17034cf68cc4149e84e449a3538"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>LPUART2_RxTx_IRQHandler</b> (void)</td></tr>
<tr class="separator:gae904e17034cf68cc4149e84e449a3538"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab5cc374b746d53e0f645e3c324a869c1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab5cc374b746d53e0f645e3c324a869c1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>LPUART3_IRQHandler</b> (void)</td></tr>
<tr class="separator:gab5cc374b746d53e0f645e3c324a869c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacda1893cb60683fba1c225040e315255"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacda1893cb60683fba1c225040e315255"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>LPUART4_IRQHandler</b> (void)</td></tr>
<tr class="separator:gacda1893cb60683fba1c225040e315255"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:gaccc404503106af143ec5ddebb9a0c281"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__peripheral.html#structperipheral__control__interface__t">peripheral_control_interface_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__peripheral.html#gaccc404503106af143ec5ddebb9a0c281">g_lpuartControlInterface</a></td></tr>
<tr class="memdesc:gaccc404503106af143ec5ddebb9a0c281"><td class="mdescLeft">&#160;</td><td class="mdescRight">Control interface for the LPUART peripheral driver.  <a href="#gaccc404503106af143ec5ddebb9a0c281">More...</a><br /></td></tr>
<tr class="separator:gaccc404503106af143ec5ddebb9a0c281"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0714d216bbbf568c907acea9c61ac2cf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0714d216bbbf568c907acea9c61ac2cf"></a>
const <a class="el" href="group__peripheral.html#structperipheral__byte__inteface__t">peripheral_byte_inteface_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lpuart__peripheral.html#ga0714d216bbbf568c907acea9c61ac2cf">g_lpuartByteInterface</a> = {.init = NULL, .write = lpuart_write }</td></tr>
<tr class="memdesc:ga0714d216bbbf568c907acea9c61ac2cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Byte I/O interface for the LPUART peripheral driver. <br /></td></tr>
<tr class="separator:ga0714d216bbbf568c907acea9c61ac2cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8e52f79102f8815ffe4a0bb380397f06"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8e52f79102f8815ffe4a0bb380397f06"></a>
static serial_byte_receive_func_t&#160;</td><td class="memItemRight" valign="bottom"><b>s_lpuart_byte_receive_callback</b></td></tr>
<tr class="separator:ga8e52f79102f8815ffe4a0bb380397f06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4950eaa04b51c02e31ddc01434be16c0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4950eaa04b51c02e31ddc01434be16c0"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><b>g_lpuartInitStatus</b> [FSL_FEATURE_SOC_LPUART_COUNT] = { false }</td></tr>
<tr class="separator:ga4950eaa04b51c02e31ddc01434be16c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga294585b0fa3efb6a3c7f01133bfcaee5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga294585b0fa3efb6a3c7f01133bfcaee5"></a>
static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>g_lpuartBaseAddr</b> [] = LPUART_BASE_ADDRS</td></tr>
<tr class="separator:ga294585b0fa3efb6a3c7f01133bfcaee5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Usage Information</h2>
<p>LPUART peripheral interface. </p>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gaa819c680220a1384d7a57fab9fafc9ac"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> lpuart_full_init </td>
          <td>(</td>
          <td class="paramtype">const peripheral_descriptor_t *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">serial_byte_receive_func_t&#160;</td>
          <td class="paramname"><em>function</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Note that we don't ungate the LPUART clock gate here. That is done only after the autobaud process has completed successfully. </p>

</div>
</div>
<a class="anchor" id="ga3b8ef190cde8e57f6992343bcbcbab41"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void lpuart_full_shutdown </td>
          <td>(</td>
          <td class="paramtype">const peripheral_descriptor_t *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Note: if not deinit autobaud(IRQ method), user app may encounters hardfault if it doesn't provide related pin interrupt service routine. </p>

</div>
</div>
<a class="anchor" id="ga9c65138a76dc620b2764a12c89ab1d3c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool lpuart_poll_for_activity </td>
          <td>(</td>
          <td class="paramtype">const peripheral_descriptor_t *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This function will be called from the main peripheral detection loop to drive the autobaud detect for this UART instance. If it is completed the UART is fully initialized and ready to use. </p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="gaccc404503106af143ec5ddebb9a0c281"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="group__peripheral.html#structperipheral__control__interface__t">peripheral_control_interface_t</a> g_lpuartControlInterface</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line">    .pollForActivity = <a class="code" href="group__lpuart__peripheral.html#ga9c65138a76dc620b2764a12c89ab1d3c">lpuart_poll_for_activity</a>, .init = <a class="code" href="group__lpuart__peripheral.html#gaa819c680220a1384d7a57fab9fafc9ac">lpuart_full_init</a>, .shutdown = <a class="code" href="group__lpuart__peripheral.html#ga3b8ef190cde8e57f6992343bcbcbab41">lpuart_full_shutdown</a>, .pump = 0</div><div class="line">}</div><div class="ttc" id="group__lpuart__peripheral_html_ga9c65138a76dc620b2764a12c89ab1d3c"><div class="ttname"><a href="group__lpuart__peripheral.html#ga9c65138a76dc620b2764a12c89ab1d3c">lpuart_poll_for_activity</a></div><div class="ttdeci">static bool lpuart_poll_for_activity(const peripheral_descriptor_t *self)</div><div class="ttdef"><b>Definition:</b> lpuart_peripheral_interface.c:84</div></div>
<div class="ttc" id="group__lpuart__peripheral_html_ga3b8ef190cde8e57f6992343bcbcbab41"><div class="ttname"><a href="group__lpuart__peripheral.html#ga3b8ef190cde8e57f6992343bcbcbab41">lpuart_full_shutdown</a></div><div class="ttdeci">static void lpuart_full_shutdown(const peripheral_descriptor_t *self)</div><div class="ttdef"><b>Definition:</b> lpuart_peripheral_interface.c:153</div></div>
<div class="ttc" id="group__lpuart__peripheral_html_gaa819c680220a1384d7a57fab9fafc9ac"><div class="ttname"><a href="group__lpuart__peripheral.html#gaa819c680220a1384d7a57fab9fafc9ac">lpuart_full_init</a></div><div class="ttdeci">static status_t lpuart_full_init(const peripheral_descriptor_t *self, serial_byte_receive_func_t function)</div><div class="ttdef"><b>Definition:</b> lpuart_peripheral_interface.c:139</div></div>
</div><!-- fragment -->
<p>Control interface for the LPUART peripheral driver. </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Mon Mar 7 2016 16:48:23 for Kinetis Bootloader by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
